home *** CD-ROM | disk | FTP | other *** search
/ Just Call Me Internet / Just Call Me Internet.iso / prog / atari / c / t100 / codes < prev    next >
Text File  |  1991-09-20  |  5KB  |  142 lines

  1. ANSI/vt100 Codes And Their Implementation In t100
  2. -------------------------------------------------
  3.  
  4. Here is a list of all the ANSI/vt100 codes I know about and whether they
  5. are supported or not in t100. Note that of the unsupported codes, the
  6. ones used in a normal Unix termcap entry for standard vt100 ("Used"
  7. column), the codes to reset some attributes are the default states for
  8. t100 anyway so they are just silently ignored. The only code used in
  9. termcap which we do not support is the scroll region and blinking chars.
  10. As far as I know there is no way to "blink" chars on the ST without all
  11. sorts for (probably non-portable) machinations. No big deal. Setting
  12. the scroll region requires that t100 keep track of the current cursor
  13. position on the screen. This can be done by either curses or by tracking
  14. each incomming char and figure out how it effects cursor movement. While
  15. not all that difficult, I just don't have time for it now.
  16.  
  17. In the table, v1 and v2 are 0, 1 or 2 char decimal numbers (ascii). For
  18. example, to move to row 5, column 10, send "\E[5;10H". To home the cursor
  19. send either "\E[1;1H" or "\E[H". \E is escape char (octal 33). A missing
  20. number generally means 0 or 1. The home position (upper left corner) is
  21. row 1 col 1. These values are used as repeat counts. So to move the cursor
  22. up 2, either send "\E[A\E[A" or "\E[2A".
  23.  
  24. So far, t100 supports application or normal cursor chars. These are the
  25. arrow keys. In application mode, t100 sends \EOA, \EOB, \EOC, and \EOD
  26. for up, down, right, and left, respectively. In normal mode, t100 sends
  27. the normal cursor motions (\E[A, \E[B, \E[C, and \E[D, respectively).
  28.  
  29. t100 does support the keypad The codes should be (I'm not 100% sure of the
  30. ones marked "???"):
  31.  
  32.     key    appl mode    normal mode    scan code (hex)
  33.  
  34.     0    \EOp        0        00700030
  35.     1    \EOq        1        006d0031
  36.     2    \EOr        2        006e0032
  37.     3    \EOs        3        006f0033
  38.     4    \EOt        4        006a0034
  39.     5    \EOu        5        006b0035
  40.     6    \EOv        6        006c0036
  41.     7    \EOw        7        00670037
  42.     8    \EOx        8        00680038
  43.     9    \EOy        9        00690039
  44.     -    \EOm        -        004a002d
  45.     enter    \EOM        return        0072000d
  46.     .    \EOn        .        0071002e
  47.  
  48.     +    ???        +        004e002b
  49.     (    \EOP ???    (        00630028
  50.     )    \EOQ ???    )        00640029
  51.     /    \EOR ???    /        0065002f
  52.     *    \EOS ???    *        0066002a
  53.  
  54. The code sent in application mode is an escape sequence. Otherwise the
  55. key's face value is sent.
  56.  
  57.  
  58.  
  59. Unsupported Codes:
  60.  
  61. Code        Used    Description
  62. -------------------------------------------------------
  63. \EZ            send terminal id
  64. \EH            set tab
  65. \E>        *    reset keypad (normal)
  66. \E=        *    set keypad (application)
  67. \E[?2l            change to vt52
  68. \E[?3l        *    reset column width (80)
  69. \E[?3h            set column width (132)
  70. \E[?4l        *    reset smooth scroll
  71. \E[?4h            set smooth scroll
  72. \E[?6l            reset origin mode
  73. \E[?6h            set origin mode
  74. \E[?1i            print line
  75. \E[v1;v2r    *    set scroll region
  76. \E[v1P            delete char
  77. \E[c            send device attributes
  78. \E[g            clear tabs
  79. \E[7i            enable ext port
  80. \E[6i            disable ext port
  81. \E[0i            print screen
  82. \E[4i            reset transparent print mode
  83. \E[5i            set transparent print mode
  84. \E[4h            set insert mode
  85. \E[2h            set keyboard action mode
  86. \E[20h            set newline mode
  87. \E[4l            reset insert mode
  88. \E[2l            reset keyboard action mode
  89. \E[20l            reset newline mode
  90. \E[5m        *    blinking
  91. \E[n            status report request
  92. \E[x            request terminal parameters
  93. \E[@            insert char
  94.  
  95.  
  96.  
  97. Supported Codes:
  98.  
  99. Code        Used    Description
  100. ---------------------------------------------------------
  101. \Ec            reset
  102. \ED            index
  103. \EM        *    scroll reverse
  104. \EE            next line
  105. \E8            restore cursor to saved position
  106. \E7            save cursor location
  107. \E[?1l        *    reset cursor key
  108. \E[?1h        *    set cursor key
  109. \E[?4l        *    reset smooth scroll
  110. \E[?5l        *    reset screen (normal video)
  111. \E[?5h            set screen (reverse video)
  112. \E[?7l            reset wrap
  113. \E[?7h        *    set wrap
  114. \E[?8l            reset auto repeat
  115. \E[?8h        *    set auto repeat
  116. \E[v1;v2H    *    absolute cursor position
  117. \E[v1;v2f        absolute cursor position
  118. \E[2;1y            self test and reset
  119. \E[v1A        *    cursor up
  120. \E[v1B            cursor down
  121. \E[v1C        *    cursor right
  122. \E[v1D            cursor left
  123. \E[H        *    home (special case of \E[v1;v2H)
  124. \E[f            home
  125. \E[J            erase from cursor to end of screen
  126. \E[0J            erase from cursor to end of screen
  127. \E[1J            erase from start of screen to cursor
  128. \E[2J        *    erase screen
  129. \E[K        *    erase from cursor to end of line
  130. \E[0K            erase from cursor to end of line
  131. \E[1K            erase from start of line to cursor
  132. \E[2K            erase line
  133. \E[v1L            insert line
  134. \E[v1M            delete line
  135. \E[0m            clear graphics mode
  136. \E[m        *    clear graphics mode
  137. \E[1m        *    bold
  138. \E[4m        *    underline
  139. \E[7m        *    reverse video (char)
  140.  
  141.  
  142.